package com.xavient.dip.storm.utils;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import backtype.storm.tuple.Tuple;
public class TuplesGrouping {
public static Map<String, Integer> groupByField(List<Tuple> tuples, String field) {
Map<String, Integer> counts = new HashMap<>();
for (Tuple tuple : tuples) {
if (counts.containsKey(tuple.getStringByField(field))) {
counts.put(tuple.getStringByField(field), counts.get(tuple.getStringByField(field)) + 1);
} else {
if (tuple.getStringByField(field) != null)
counts.put(tuple.getStringByField(field), 1);
}
}
return counts;
}
}